package com.iatinspur.learn;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * -Xmx2g -Xms2g -XX:+PrintGCDetails -XX:+UseParNewGC
 * 35-38 集垃圾回收器 （多看两遍）
 *   垃圾回收器
 *   组合           年轻代                               老年代
 *                 Serial                              Serial Old             -XX:+UseSerialGC
 *                 ParNew                              Serial Old             -XX:+UseParNewGC
 *                 ParNew                              CMS
 *                 Parallel Scavenge                   Parallel Old
 *
 *
 * Serial              单线程串行回收年轻代  复制算法      线程少的时候  访问量少的时候可以访问量多就不适合
 * Serial Old          单线程串行回收老年代  复制标记算法   线程少的时候  访问量少的时候可以访问量多就不适合
 * PaeNew              多cpu处理器停顿时间  复制算法
 */
public class Learn_30_JVM {

    public static List<Object> list = new ArrayList<Object>();
    public static byte[] nc ;

    public static byte[][] ncs =new byte[10][];

    /**
     * 8.17
     * -Xmn1g
     *
     *  -Xmx5g -Xms5g 开始执行
     *
     *  todo 1.啥也没干 100秒  fullGC 64次 4.206s  minorGC 45次 3.176s 吞吐量  92%
     *       -Xmn100m                                                 2.053
     *       -Xmn10m                                                  2.053
     *
     * @param args
     * @throws InterruptedException
     * @throws IOException
     */
    public static void main(String[] args) throws InterruptedException, IOException {
        /**
         * Copy
         * MarkSweepCompact
         */
        int count = 0;
        while(true){
            for (int i = 0; i < 10; i++) {
                ncs[i]= new byte[1024 * 1024 *10*((int)(Math.floor(Math.random()*9))+1)];
            }
            Thread.sleep(1000);
        }
    }

}











